Skip to main content

Hardware

RP2040-ESP32C3 development board designed with 1.90" LCD which has 8 bits parallel connection to RP2040.

info

More info and details about the LCD can be seen in the following link.

LCD Connection

The LCD FPC uses 0.3mm pitch connector from Molex with 39 pins.

Pinout

LCD_PINRP2040Details
LCD_RESETGPIO23LCD reset signal
LCD_DCGPIO9LCD data/command selection
LCD_RDGPIO10LCD read signal
LCD_WRGPIO8LCD write signal
LCD_SPI_IO0GPIO0LCD parallel data 0
LCD_SPI_IO1GPIO1LCD parallel data 1
LCD_SPI_IO2GPIO2LCD parallel data 2
LCD_SPI_IO3GPIO3LCD parallel data 3
LCD_SPI_IO4GPIO4LCD parallel data 4
LCD_SPI_IO5GPIO5LCD parallel data 5
LCD_SPI_IO6GPIO6LCD parallel data 6
LCD_SPI_IO7GPIO7LCD parallel data 7
LCD_BL_PWMGPIO28LCD backlight control

Backlight

The backlight controller is AW9364DNR which can control 4 parallel LEDs with a number of pulse control for brightness dimming.

Alternative LCD Connector P1

In case you don't want to use 1.90" LCD, we have placed another connector on the board with 2.54mm pitch if you want to connect your LCD. Alternatively you can use these pinouts for another purpose.

Software

For a quick start in developing on our development board, please refer to our sample code for LCD display. It will provide you with a convenient and efficient way to begin your development process.

LCD Parameters

Color Mode

The COLMOD (3Ah) command is used to configure the Interface Pixel Format of a display. It determines how colors are represented and displayed on the screen.

The chosen color format for this development board is the high-speed RGB565 interface. It supports a palette of 65,536 colors, delivering both vibrant and visually appealing options with exceptional speed and efficiency. Additionally, you have the flexibility to select the RGB666 18-bit format, which offers an even broader range of captivating colors. However, if speed is a priority, the RGB565 interface provides accelerated communication, ensuring swift and seamless performance for your applications.

    // COLMOD (3Ah): Interface Pixel Format
// - RGB interface color format =65K of RGB interface
// - Control interface color format = 16bit/pixel

sendLcdCommand(0x3a, (uint8_t[]){0x05}, 1);

colorCoding.png

Display Orientation

The MADCTL (36h) command, also known as Memory Data Access Control, is used to configure the display's memory access and data order. It provides several options for controlling how the display retrieves and organizes data.

The register for Memory Data Access Control (MADCTL) can be customized to suit your specific display orientation requirements. This flexibility allows you to adapt the display to different orientation scenarios, ensuring that your content is rendered correctly and aligned according to your specific needs.

    // MADCTL (36h): Memory Data Access Control
// - Page Address Order = Bottom to Top
// - Column Address Order = Right to Left
// - Page/Column Order = Normal Mode
// - Line Address Order = LCD Refresh Top to Bottom
// - RGB/BGR Order = RGB
// - Display Data Latch Data Order = LCD Refresh Left to Right

sendLcdCommand(0x36, (uint8_t[]){0xC0}, 1);

MADCTL.png

Image Customization

If you wish to use your own images with our sample code,

  1. Create/scale your image to 170x320 pixels.

  2. Use the software provided in the link to generate image data in RGB565 format. This will ensure compatibility and optimal display of your images on the development board.

    GUIslice_Image2C

LVGL Usage

logo_lvgl.png

The development board we offer is compatible with the LVGL library, a powerful graphics library for embedded systems. If you wish to create your own projects using LVGL, we recommend referring to the v8.2 documents. These documents provide detailed information and guidelines on utilizing LVGL effectively for your development needs. Whether you're looking to create engaging user interfaces or implement advanced graphical features, the LVGL library combined with our development board offers a comprehensive solution for your project requirements.

Try out our sample code.

vikingLVGL.jpeg